# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName : HJ50_real_solution.py
# @Time     : 2024/3/3 12:02
# @Author   : Robot-Zsj
"""
description:
3+2*{1+2*[-4/(8-6)+7]}

3+2*(1+2*(-4/(8-6)+7))
"""


def main(i):
    nums = []
    flag = None
    while i < len(st):
        num = 0
        if st[i] == '(':
            i, num = main(i + 1)
        if flag == ')':
            return i, sum(nums)
        # 当i还在表达式范围，且当前所取的字符为数字
        # 那么num等于num*10加上当前位置的数字
        # 那么为什么要*10呢？
        # 这里其实是要考虑数字不是一位，可能是超过一位的数字，当i+1后，st[i]仍然是数字，就需要使用这个表达式
        # num = num * 10 + int(st[i])
        while i < len(st) and st[i].isdigit():
            num = num * 10 + int(st[i])
            i += 1

        # 当结果集合为空，则将第一个数字添加到nums，后续就是按规则添加数字到nums
        # 这里我们可以知道flag来源于当前数字之前的判断不是数字的位置
        if not nums:
            nums.append(num)
        if flag == '+':
            nums.append(num)
        elif flag == '-':
            nums.append(-num)
        elif flag == '*':
            nums.append(nums.pop() * num)
        elif flag == '/':
            nums.append(nums.pop() // num)

        # 设置flag，用于后续计算时作为判断条件
        if i < len(st):
            flag = st[i]
        i += 1
    return i, sum(nums)


while True:
    try:
        st = input().replace('[', '(').replace(']', ')').replace('{', '(').replace('}', ')')
        print(
            main(0)[1]
        )
    except:
        break
